package br.com.websec.util;

import br.com.websec.agencia.AgenciaDao;
import br.com.websec.agencia.AgenciaDaoHibernate;
import br.com.websec.banco.BancoDao;
import br.com.websec.banco.BancoDaoHibernate;
import br.com.websec.carteira.CarteiraDao;
import br.com.websec.carteira.CarteiraDaoHibernate;
import br.com.websec.cliente.ClienteDao;
import br.com.websec.cliente.ClienteDaoHibernate;
import br.com.websec.configuracao.CnabConfiguracaoDao;
import br.com.websec.configuracao.CnabConfiguracaoDaoHibernate;
import br.com.websec.conta.ContaDao;
import br.com.websec.conta.ContaDaoHibernate;
import br.com.websec.endereco.EnderecoDao;
import br.com.websec.endereco.EnderecoDaoHibernate;
import br.com.websec.fornecedor.FornecedorDao;
import br.com.websec.fornecedor.FornecedorDaoHibernate;
import br.com.websec.instrucaocobranca.InstrucaoCobrancaDao;
import br.com.websec.instrucaocobranca.InstrucaoCobrancaDaoHibernate;
import br.com.websec.ocorrencia.OcorrenciaDao;
import br.com.websec.ocorrencia.OcorrenciaDaoHibernate;
import br.com.websec.titulo.CabecalhoTituloDao;
import br.com.websec.titulo.CabecalhoTituloDaoHibernate;
import br.com.websec.titulo.RodapeTituloDao;
import br.com.websec.titulo.RodapeTituloDaoHibernate;
import br.com.websec.titulo.TituloDao;
import br.com.websec.titulo.TituloDaoHibernate;
import br.com.websec.usuario.UsuarioDAO;
import br.com.websec.usuario.UsuarioDAOHibernate;


public class DAOFactory {
	
	
	public static BancoDao criaBancoDAO(){
		BancoDaoHibernate bancoDAO = new BancoDaoHibernate();
		bancoDAO.setSession(HibernateUtil.getSession().getCurrentSession());	
		return bancoDAO;
	}

	public static TituloDao criaTituloDAO() {
		TituloDaoHibernate tituloDAO = new TituloDaoHibernate();
		tituloDAO.setSession(HibernateUtil.getSession().getCurrentSession());	
		return tituloDAO;
	}
	
	public static ClienteDao criaClienteDAO() {
		ClienteDaoHibernate clienteDAO = new ClienteDaoHibernate();
		clienteDAO.setSession(HibernateUtil.getSession().getCurrentSession());	
		return clienteDAO;
	}
	
	public static CarteiraDao criaCarteiraDAO(){
		CarteiraDaoHibernate carteiraDAO = new CarteiraDaoHibernate();
		carteiraDAO.setSession(HibernateUtil.getSession().getCurrentSession());
		return carteiraDAO;
	}
	
	public static ContaDao criaContaDAO(){
		ContaDaoHibernate contaDAO = new ContaDaoHibernate();
		contaDAO.setSession(HibernateUtil.getSession().getCurrentSession());
		return contaDAO;
	}
	
	public static EnderecoDao criaEnderecoDAO(){
		EnderecoDaoHibernate enderecoDAO = new EnderecoDaoHibernate();
		enderecoDAO.setSession(HibernateUtil.getSession().getCurrentSession());
		return enderecoDAO;
	}
	
	public static FornecedorDao criaFornecedorDAO(){
		
		FornecedorDaoHibernate fornecedorDAO = new FornecedorDaoHibernate();
		fornecedorDAO.setSession(HibernateUtil.getSession().getCurrentSession());
		return fornecedorDAO;
	}
	
	public static OcorrenciaDao cricaOcorrenciaDAO(){
		
		OcorrenciaDaoHibernate ocorrenciaDAO = new OcorrenciaDaoHibernate();
		ocorrenciaDAO.setSession(HibernateUtil.getSession().getCurrentSession());
		return ocorrenciaDAO;
	}
	
	public static InstrucaoCobrancaDao criaIntrucaoCobrancaDAO(){
		
		InstrucaoCobrancaDaoHibernate instrucaoCobrancaDAO = new InstrucaoCobrancaDaoHibernate();
		instrucaoCobrancaDAO.setSession(HibernateUtil.getSession().getCurrentSession());
		return instrucaoCobrancaDAO;
	}

	public static UsuarioDAO criarUsuarioDAO() {
		UsuarioDAOHibernate usuarioDAO = new UsuarioDAOHibernate();
		usuarioDAO.setSession(HibernateUtil.getSession().getCurrentSession());
		return usuarioDAO;
	}
	
	public static AgenciaDao criarAgenciaDAO() {
		AgenciaDaoHibernate agenciaDAO = new AgenciaDaoHibernate();
		agenciaDAO.setSession(HibernateUtil.getSession().getCurrentSession());
		return agenciaDAO;
	}
	
	public static CnabConfiguracaoDao criarConfiguracaoCnabDAO() {
		CnabConfiguracaoDaoHibernate configuracaoCnabDAO = new CnabConfiguracaoDaoHibernate();
		configuracaoCnabDAO.setSession(HibernateUtil.getSession().getCurrentSession());
		return configuracaoCnabDAO;
	}

	public static CabecalhoTituloDao criaCabecalhoTituloDAO() {
		CabecalhoTituloDaoHibernate  cabecalhoDAO = new  CabecalhoTituloDaoHibernate();
		cabecalhoDAO.setSession(HibernateUtil.getSession().getCurrentSession());
		return cabecalhoDAO;
	}

	public static RodapeTituloDao criaRodapeTituloDAO() {
	     RodapeTituloDaoHibernate  rodapeDAO = new  RodapeTituloDaoHibernate();
	     rodapeDAO.setSession(HibernateUtil.getSession().getCurrentSession());
		return rodapeDAO;
	}
	
}
